home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / tex / tools / umrand / ua000.mf < prev    next >
Encoding:
Text File  |  1994-09-22  |  1.3 KB  |  58 lines

  1. input umrand
  2.  
  3. def wood(expr W) =
  4.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  5.         pickup pencircle scaled penwid;
  6.         
  7.         xscal:=1;
  8.         
  9.         u:=w/10; v:=h/20; ab:=0;
  10.         
  11.         x0=x1=0+ab;
  12.         x2=x3=x4=x5=x6=u+ab;
  13.         x7=x8=x9=x10=x11=x12=2u+ab;
  14.         x13=x14=x15=3u+ab;
  15.         x16=x17=x18=x19=4u+ab;
  16.         x20=x21=x22=5u+ab;
  17.         x23=x24=x25=6u+ab;
  18.         x26=7u+ab;    x27=8u+ab;
  19.         x28=x29=10u+ab;
  20.         y2=20v;        y0=19v;        y3=16v;
  21.         y7=y16=15v;    y13=y20=14v;
  22.         y8=13v;        y21=12v;
  23.         y9=y17=y23=y27=y28=11v;
  24.         y4=y14=y26=10v;
  25.         y18=y24=y29=9v;
  26.         y5=8v;        y10=y19=y25=7v;
  27.         y15=y22=6v;
  28.         y11=5v;        y12=3v;        y1=v;        y6=0v;
  29.         
  30.         def WoodRotation(expr w,p) =
  31.             CenterRotation(w,
  32.             p if abs(abs(sind(w))-abs(cosd(w))) < eps:
  33.                  shifted (2u,0)
  34.               fi)
  35.         enddef;
  36.         
  37.         draw WoodRotation(W,z2--z0--z1--z6--z5--z15);
  38.         draw WoodRotation(W,z10--z12--z22--z19--z11);
  39.         draw WoodRotation(W,z0--z16--z8--z7--z13);
  40.         draw WoodRotation(W,z7--z3--z4--z9--z8);
  41.         draw WoodRotation(W,z4--z19--z18--z9--z20--z21--z14);
  42.         draw WoodRotation(W,z17--z18);
  43.         draw WoodRotation(W,z21--z22--z25--z24--z23--z21);
  44.         draw WoodRotation(W,z23--z26--z24);
  45.         draw WoodRotation(W,z20--z27--z26);
  46.         draw WoodRotation(W,z2--z28--z25);
  47.         draw WoodRotation(W,z28--z29--z6);
  48.     testbox; endchar;
  49. enddef;
  50.  
  51. nextchar:=-1; % -1: we start first char width incr(-1) = 0!
  52.  
  53. wood(0);
  54.  
  55. end;
  56.  
  57.  
  58.